package com.vladstoick.DataModel;
import android.content.Context;
import android.database.Cursor;
import android.os.Parcel;
import android.os.Parcelable;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
/**
* Created by vlad on 7/19/13.
*/
public class NewsItem implements Parcelable {
public static String TAG_DATE = "date";
public static String TAG_TITLE = "title";
public static String TAG_DESCRIPTION = "text";
public static String TAG_URLLINK = "url";
public static String TAG_ID = "id";
public int read;
private String title;
private String description;
private String urlLink;
private int id;
private long pubDate = 0;
private int sourceId;
public NewsItem(String title, String description, String urlLink, long pubDate, int id) {
this.title = title;
this.description = description;
this.urlLink = urlLink;
this.pubDate = pubDate;
this.read = 0;
this.id = id;
}
public NewsItem(Cursor cursor) {
this.urlLink = cursor.getString(0);
this.title = cursor.getString(1);
this.description = cursor.getString(2);
this.sourceId = cursor.getInt(3);
this.pubDate = cursor.getLong(4);
this.read = cursor.getInt(5);
this.id = cursor.getInt(6);
}
public String getPubDateAsString(Context context){
if(this.pubDate == 0){
return "";
}
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("GMT"));
calendar.setTimeInMillis(this.pubDate);
Date articleDate = calendar.getTime();
DateFormat timeFormat = android.text.format.DateFormat
.getTimeFormat(context);
DateFormat dateFormat = android.text.format.DateFormat.getLongDateFormat(context);
return dateFormat.format(articleDate) + " " + timeFormat.format(articleDate);
}
public int getId() {
return id;
}
public long getPubDate() {
return pubDate;
}
public void setPubDate(long pubDate) {
this.pubDate = pubDate;
}
public int getSourceId() {
return sourceId;
}
public void setSourceId(int sourceId) {
this.sourceId = sourceId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getUrlLink() {
return urlLink;
}
public void setUrlLink(String urlLink) {
this.urlLink = urlLink;
}
public String getMobilizedUrlLink() {
return "http://parserizer.eu01.aws.af.cm/?url=" + this.urlLink;
}
//PARCELABLE STUFF
public static final Parcelable.Creator<NewsItem> CREATOR
= new Parcelable.Creator<NewsItem>() {
public NewsItem createFromParcel(Parcel in) {
return new NewsItem(in);
}
public NewsItem[] newArray(int size) {
return new NewsItem[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(title);
dest.writeString(description);
dest.writeString(urlLink);
dest.writeInt(sourceId);
dest.writeLong(pubDate);
dest.writeInt(read);
dest.writeInt(id);
}
private NewsItem(Parcel in) {
this.title = in.readString();
this.description = in.readString();
this.urlLink = in.readString();
this.sourceId = in.readInt();
this.pubDate = in.readLong();
this.read = in.readInt();
this.id = in.readInt();
}
}